home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / extra / helpful.zip / ppp < prev    next >
Text File  |  1995-08-21  |  46KB  |  1,324 lines

  1.   Linux PPP HOWTO
  2.   Al Longyear, longyear@netcom.com
  3.   v1.11, 12 July 1995
  4.  
  5.   This document contains a list the most Frequently Asked Questions
  6.   (FAQ) about PPP for Linux (and their answers). It is really not a
  7.   HOWTO, but is in `classical' Question / Answer form.
  8.  
  9.   1.  Preface
  10.  
  11.   Please send any corrections to longyear@netcom.com.
  12.  
  13.   This is but one of the Linux HOWTO/FAQ documents. You can get the
  14.   HOWTO's from sunsite.unc.edu:/pub/Linux/docs/HOWTO (this is the
  15.   `official' place) or via WWW from the Linux Documentation home page
  16.   <http://sunsite.unc.edu/mdw/linux.hmtl>. You cannot rely on the
  17.   HOWTO's being posted to comp.os.linux.answers, as some news feeds have
  18.   complained about their size.
  19.  
  20.   Throughout this document, I have used the word `remote' to mean `the
  21.   system at the other end of the modem link'. It is also called `peer'
  22.   in the PPP documentation. Another name for this is called the
  23.   `gateway' when the term is use for routing. Its IP address will show
  24.   as the `P-t-P' address if you use ifconfig.
  25.  
  26.   Microsoft is a registered trademark of Microsoft Corporation. Morning
  27.   Star is a registered trademark of Morning Star Technologies
  28.   Incorporated. All other products mentioned are trademarks of their
  29.   respective companies.
  30.  
  31.  
  32.  
  33.   2.  General information
  34.  
  35.  
  36.   2.1.  What is PPP?
  37.  
  38.   PPP, or Point-to-Point Protocol, is a recognized `official' internet
  39.   protocol. It is a protocol used to exchange IP frames (and others)
  40.   over a serial link. The current RFC for PPP is 1661. There are many
  41.   related ones.
  42.  
  43.   Contrary to what some people think, it does not mean "Peer to Peer
  44.   Processing"; although you may do peer-peer communications using TCP/IP
  45.   over a PPP link.
  46.  
  47.  
  48.  
  49.   2.2.  My university (company) does not support PPP. Can I use PPP?
  50.  
  51.   In general, no. A `classical' PPP implementation requires that you
  52.   make changes to the routes and network devices supported by the
  53.   operating system. This may mean that you will have to rebuild the
  54.   kernel for the remote computer.
  55.  
  56.   This is not a job for a general user. If you can convince your
  57.   administration people that PPP is a `good thing' then you stand a
  58.   chance of getting it implemented. If you can't, then you probably
  59.   can't use PPP.
  60.  
  61.   However, if you are using a system which is supported by the people
  62.   who are marketing the "TIA" (The Internet Adapter) package, then there
  63.   is hope. I do not have much information on this package, however, from
  64.   what I have found, they plan to support PPP in "the next version". (My
  65.   information may be old. Contact them directly.  Information on TIA is
  66.   available at ftp.marketplace.com in the /pub/tia directory.)
  67.   If your system is not supported by TIA and you can't convince the
  68.   admin group to support PPP then you should use the `term' package.
  69.   Some service providers will object to you running `term'. They have
  70.   many different reasons, however the most common is `security
  71.   concerns'.
  72.  
  73.   There is a version of TIA for Linux.
  74.  
  75.  
  76.   2.3.  Where is PPP?
  77.  
  78.   It is in two parts. The first part is in the kernel. In the kernels
  79.   from 1.1.13, the driver is part of the network system drivers.
  80.  
  81.   Do not replace the driver in the kernel with a version from the pppd
  82.   package!!!
  83.  
  84.   The second part is the `daemon' process, pppd. This is a required
  85.   process. The source to it is in the file ppp-2.1.2c.tar.gz located on
  86.   sunsite.unc.edu in the /pub/Linux/system/Network/serial directory.
  87.  
  88.   For kernels before 1.1.13, the necessary driver is included in the
  89.   daemon code.
  90.  
  91.  
  92.  
  93.   2.4.  I just obtained PPP. What do I do with it?
  94.  
  95.   Read The Fine Material available.
  96.  
  97.   Start by reading the README file and then the README.linux file. The
  98.   documentation sources are listed below.
  99.  
  100.  
  101.  
  102.   2.5.  (Where's the documentation? Is there a HOWTO?, etc.)  Where are
  103.   additional sources of information for PPP?
  104.  
  105.   There are several sources of information for the PPP protocol as
  106.   implemented under Linux.
  107.  
  108.  
  109.   o  The README file in the source package.
  110.  
  111.   o  The README.linux file in the source package.
  112.  
  113.   o  The Net-2-HOWTO document.
  114.  
  115.   o  The Network Administration Guide.
  116.  
  117.   o  The pppd man page.
  118.  
  119.   o  The PPP FAQ document. (This is not it, by the way.)
  120.  
  121.   The HOWTO file is stored in the usual place for the Linux HOWTOs.
  122.   That is currently on sunsite.unc.edu in the directory
  123.   /pub/Linux/docs/HOWTO.
  124.  
  125.   The Network Administration Guide is available in the
  126.   /pub/Linux/docs/LPD/network-guide directory on sunsite. It is also
  127.   published by O'Riellly and Associates. So, if you want a really
  128.   professional document, then buy a copy from your local bookstore.
  129.  
  130.   The `man' pages are included in the source package. You will probably
  131.   have to move them to the normal man directory, /usr/man/man8 before
  132.   the man command may find them.  Alternately, you may use nroff and
  133.   more to view them directly.
  134.  
  135.   The PPP faq document describes the PPP protocol itself and the various
  136.   implementations. You will find the FAQ for the usenet news group,
  137.   comp.protocols.PPP, archived on rtfm.mit.edu in the /usenet directory.
  138.   It is in eight parts at the present time.
  139.  
  140.  
  141.  
  142.   2.6.  Where should I post questions about PPP?
  143.  
  144.   The primary usenet group for the PPP implementations is
  145.   comp.protocols.PPP. Use this group for general questions such as "How
  146.   do I use pppd?" or "Why doesn't this work?".
  147.  
  148.   Questions such as "Why wont pppd compile?" are generally linux related
  149.   and belong on the comp.os.linux.networking group.
  150.  
  151.   Please don't use comp.os.linux.help.
  152.  
  153.  
  154.  
  155.   2.7.  The PPP software doesn't work. HELP!!!
  156.  
  157.   This is one of the most sickening questions. I realize that this is a
  158.   plea for help. However, it is practically useless to post this message
  159.   with no other information. I, and most others, will only ignore it.
  160.  
  161.   Please see the question regarding errors which normally occur at the
  162.   modem's disconnection. They are not the cause of a problem, only a
  163.   symptom. Posting a message with only those errors is also meaningless.
  164.  
  165.   What is needed is the output of the system log (syslog) when you run
  166.   the pppd program with the option `debug'. In addition, if you are
  167.   using chat then please use the `-v' option to run the sequence with
  168.   verbose output.
  169.  
  170.   Please include the output from the kernel's startup. This shows the
  171.   various kernel hardware information such as your UART type, PPP
  172.   version, etc.
  173.  
  174.   Please include all information that you can relating to the problem.
  175.   However your system configuration, disk drive configuration, terminal
  176.   type, mouse location and button status, etc. are irrelevant. What is
  177.   important is the system to which your are trying to contact, the PPP
  178.   (or terminal server) that they are using, the modem types and speed
  179.   that you are using, etc.
  180.  
  181.   Take care and go through the output. Remove the references to the
  182.   telephone number, your account name, and the password. They are not
  183.   important to analyzing the problem and would pose a security risk to
  184.   you if you published them to usenet. Also discard the lines which
  185.   neither come from the kernel nor pppd.
  186.  
  187.   Do NOT run the pppd program with the option `kdebug 7' and post that!
  188.  
  189.   If the problem warrants examining the data stream, then you will be
  190.   contacted by email and asked to mail the trace. Usenet already costs
  191.   too much for too many people.
  192.  
  193.   Information is written to various levels. The debug information is
  194.   written to the debug level. The informational messages are written to
  195.   the info level. The errors are written to the error level. Please
  196.   include all levels the the `local2' group which come from the pppd
  197.   process.
  198.  
  199.   In addition, please do not delete the time stamp information. It is
  200.   important.
  201.  
  202.  
  203.  
  204.   2.8.  How do I use PPP with a system which uses dynamic IP assign-
  205.   ments? It assigns a different IP address to me with each call.
  206.  
  207.   The assignment of the local IP address is a function of the options
  208.   given to pppd and the IPCP protocol. You should use the `magic' IP
  209.   address of 0.0.0.0 if you must specify the local IP address. Most
  210.   people simply leave the local IP address out of the option list.
  211.  
  212.   The other option which is closely tied to this is called
  213.   `noipdefault'. The noipdefault option instructs the pppd process to
  214.   not attempt to guess the local IP address from your hostname and the
  215.   IP addresses in the /etc/hosts file. Most people use this option when
  216.   the IP address is dynamically assigned. However, this option does not
  217.   mean `use dynamic IP addresses'. The use of dynamic IP addresses is
  218.   automatic when the local IP address is not given.
  219.  
  220.  
  221.  
  222.   2.9.  How do I know what IP address was given to me when it is dynami-
  223.   cally assigned?
  224.  
  225.   Use the /etc/PPP/ip-up hook. The local IP address is the fourth
  226.   parameter. This will be executed when pppd knows the IP address for
  227.   the local system. The fifth parameter is the remote IP address if you
  228.   should wish to know this value as well.
  229.  
  230.  
  231.  
  232.   2.10.  Can I use the same local IP address for each line of a PPP
  233.   server?
  234.  
  235.   Yes. The local address is not significant to the local system. You
  236.   must have a unique remote IP address. The routing is performed based
  237.   upon the remote IP address and not the local IP address.
  238.  
  239.  
  240.  
  241.   3.  Other implementations
  242.  
  243.  
  244.   3.1.  Do you know of a implementation for PPP other than Linux? I
  245.   would like one for HP-UX, or AIX, or ... (you fill in the blank) ?
  246.  
  247.   Check the PPP FAQ document mentioned above.
  248.  
  249.   AIX is due to be supported in the 2.2 version of the pppd process.
  250.   HP-UX is, to my knowledge, only supported by the Morning Star
  251.   commercial package.
  252.  
  253.   If you don't find one listed then post to the comp.protocols.PPP group
  254.   and not the Linux group.
  255.  
  256.   (Please don't mail me asking for "Do you know of a PPP package for
  257.   ..."?  These requests will now be `appropriately' filed. ;-))
  258.  
  259.  
  260.  
  261.   3.2.  Did you know that there is a program called `dp'?
  262.  
  263.   Yes, we know. The dp package was considered very early in the
  264.   development stage quite a few months back. It is nice.  It supports
  265.   'demand dial'. It also only works with systems which support streams.
  266.   This is primarily the SunOS (Solaris) operating systems.
  267.  
  268.   Linux, at the present time, does not supports streams.
  269.  
  270.   There are several other packages for PPP available on the `net'. The
  271.   `portable PPP' package is very much like the TIA code. There is
  272.   another package called simply `PPP'. There is code for PPP in the KA9Q
  273.   package.
  274.  
  275.   Of all of the packages available, the pppd package was the closest to
  276.   the requirements and functions of Linux to warrant the port.
  277.  
  278.   (If you want more information about these other packages, ask in the
  279.   comp.protocols.PPP group!)
  280.  
  281.  
  282.  
  283.   3.3.  What RFCs describe the PPP protocol?
  284.  
  285.   The current implementation of PPP is a mixture of several.  The major
  286.   portion of the PPP code is written against the RFCs 1331 and 1332.
  287.   These RFCs were later obsoleted. 1331 was replaced by 1548 and that,
  288.   in turn, was obsoleted by 1661 six months later.
  289.  
  290.   Most implementations of PPP will be happy to talk to the Linux PPP
  291.   code.
  292.  
  293.   A complete list is in the PPP faq.
  294.  
  295.   [to quote the FAQ document]:
  296.  
  297.  
  298.        All of 1134, 1171, and 1172 (and 1055, for that matter :-)
  299.        have been obsoleted. They're interesting only if you want to
  300.        debug a connection with an ancient PPP implementation, and
  301.        you're wondering why (e.g.)  it asked you for IPCP option 2
  302.        with a length of only 4, and Compression-Type 0x0037.
  303.  
  304.        (There's a lot of that still running around - be careful out
  305.        there.)
  306.  
  307.  
  308.   Linux PPP will not support this.
  309.  
  310.  
  311.  
  312.   4.  Compatibility
  313.  
  314.  
  315.   4.1.  Can PPP talk to a SLIP interface?
  316.  
  317.   No. SLIP works with SLIP. PPP works with PPP.
  318.  
  319.   Some vendors may offer products which work both as SLIP and PPP.
  320.   However, they must be configured to run in one mode or the other.
  321.   There is no present method to determine, based upon the protocol
  322.   passed at the time of a connection, which combination of SLIP
  323.   protocols or PPP is being requested.
  324.  
  325.  
  326.  
  327.   4.2.  Which is better? PPP or SLIP?
  328.  
  329.   IT DEPENDS UPON MANY FACTORS. The people who post this type of
  330.   question have usually not read the Net-2-HOWTO document.
  331.   A good technical discussion is available at Morning Star's www server,
  332.   www.morningstar.com.
  333.  
  334.  
  335.  
  336.   4.3.  Is CHAP or PAP better for authentication?
  337.  
  338.   If you have the choice, use CHAP. Failing that, PAP is better than
  339.   nothing.
  340.  
  341.  
  342.  
  343.   5.  Authentication files
  344.  
  345.  
  346.   5.1.  What goes into the /etc/PPP/pap-secrets file? Do you have a sam-
  347.   ple?
  348.  
  349.   The PAP protocol is most often implemented as your user name and
  350.   password. You need to include the name of the remote system, your
  351.   account name, and the password. If the user on abbot wishes to call
  352.   costello, the entry would be similar to the following.
  353.  
  354.  
  355.  
  356.           #remote    account    password     IP address list
  357.           *          abbot      firstbase
  358.  
  359.  
  360.  
  361.  
  362.  
  363.   5.2.  What goes into the /etc/PPP/chap-secrets file? Do you have a
  364.   sample?
  365.  
  366.   The most common problem is that people don't recognize that CHAP deals
  367.   with a pair of secrets. Both computers involved in the link must have
  368.   both secrets to work.
  369.  
  370.   For example, if abbot wants to talk to costello, then abbot's file
  371.   would have:
  372.  
  373.  
  374.  
  375.           #local     remote     secret       IP address list
  376.           abbot      costello   firstbase
  377.           costello   abbot      who
  378.  
  379.  
  380.  
  381.  
  382.   And costello's file would have:
  383.  
  384.  
  385.  
  386.           #local     remote     secret       IP address list
  387.           abbot      costello   firstbase
  388.           costello   abbot      who
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.   6.  Construction problems
  398.  
  399.  
  400.   6.1.  I get compile errors when I try to compile the kernel
  401.  
  402.   With the release of the 1.2 kernel for Linux, the PPP driver is a
  403.   standard part of the network devices. Each kernel should include the
  404.   software necessary to make the PPP support within the kernel. Please
  405.   do not edit the PPP driver. It has been pre-configured for the kernel.
  406.  
  407.   If you are attempting to run PPP on kernels prior to the 1.2, then
  408.   please consider upgrading the kernel. The 1.0 kernels require patching
  409.   to support the PPP driver. The 1.2 kernels supported PPP to some
  410.   degree, but also required changes depending upon the specific patch
  411.   level.
  412.  
  413.  
  414.   7.  Problems running pppd
  415.  
  416.  
  417.   7.1.  pppd wont run unless you are root
  418.  
  419.   The pppd process needs to make changes to the networking system and
  420.   this can only be done if you are the root user. If you wish to run
  421.   pppd from other than the root user then the pppd program needs to be
  422.   secured 'suid to root'.
  423.  
  424.  
  425.  
  426.           chown root pppd
  427.           chmod 4755 pppd
  428.  
  429.  
  430.  
  431.  
  432.   If you wish to control the pppd access to a select group of people,
  433.   then make the pppd process owned by the group and do not permit all
  434.   others to run the program.
  435.  
  436.  
  437.   7.2.  The ppp-2.1.2d package says it needs the 4.6 libraries
  438.  
  439.   Sorry, I goofed. You will have to forego the binaries and re-compile
  440.   the code yourself. It is easy. Go to the pppd directory, delete the
  441.   bad binary, and issue the command `make'. Go to the chat directory and
  442.   do the same if you want a corrected chat program.
  443.  
  444.   You must have the C language compiler and GNU make installed to
  445.   rebuild the PPP software.
  446.  
  447.   It turns out that when I compiled the ppp-2.1.2d package, while I used
  448.   the proper definitions, I used the 4.6 libraries. One of these days,
  449.   Al may finally get his act together . . . .
  450.  
  451.   Or, you can get binaries from the Slackware 2.0.2 (or later) package.
  452.   They are in the PPP.tgz file in the `n' series of disks.
  453.  
  454.   Please use the source in the ppp-2.1.2d to compile the code.  The
  455.   source has been corrected over the `a' package.
  456.  
  457.  
  458.  
  459.   7.3.  unable to create pid file: no such file or directory
  460.  
  461.   You need to create the directory /var/run. On earlier Slackware
  462.   distributions, this was a symbolic link to the /etc directory.
  463.   This is a warning. The PPP software will work normally in spite of
  464.   this message. However, the PPP-off script depends upon this file. It
  465.   is a good idea to create the directory or make the link to the
  466.   appropriate location.
  467.  
  468.   The posix header, paths.h, defines the location for the pid file under
  469.   the name "_VAR_RUN". If you wish to use a different directory for PPP
  470.   and others, change the value for this define and rebuild the software.
  471.  
  472.  
  473.  
  474.   7.4.  /etc/PPP/options: no such file or directory
  475.  
  476.   You need to create the directory /etc/PPP and have a file called
  477.   'options' in that directory. It needs to be readable by the pppd
  478.   process (root).
  479.  
  480.   The file may be empty. To make an empty file use the `touch' command.
  481.  
  482.   See the pppd man page, pppd.8, for a description of this file.
  483.  
  484.  
  485.  
  486.   7.5.  Could not determine local IP address
  487.  
  488.   This happens with many configurations of the Telebit Netblazer. The
  489.   problem is not the terminal server, but the site which has not
  490.   configured the terminal server with a set of IP addresses.
  491.  
  492.   The Netblazer does not have your IP address. You do not have your IP
  493.   address. The link will not work unless both IP addresses are known.
  494.  
  495.  
  496.   o  The Netblazer does not have your IP address and you do not have
  497.      your IP address.
  498.  
  499.   o  The Netblazer does know its IP address and you do not have its IP
  500.      address.
  501.  
  502.   The link will not work unless both IP addresses are known.
  503.  
  504.   You must tell the Netblazer the IP addresses to be used. Use the local
  505.   IP address and the remote IP address as a parameter to the pppd
  506.   process.
  507.  
  508.   Use the pppd option format of:
  509.  
  510.   local_ip:remote_ip
  511.  
  512.   (That is the local IP address, a colon, and the remote IP address.)
  513.  
  514.  
  515.  
  516.   7.6.  Could not determine remote IP address
  517.  
  518.   See the previous answer.
  519.  
  520.  
  521.  
  522.   7.7.  I keep getting the message to the effect that the magic number
  523.   is always NAKed. The system will not connect.
  524.  
  525.   There is a one in over four billion chance that the two systems have
  526.   chosen the same magic number. If you get a continual failure about the
  527.   magic number, the chances that this is a fluke will geometrically
  528.   reduce.
  529.   The two most common reasons for this failure are:
  530.  
  531.  
  532.   o  The remote PPP software is not running when you think it is.  Is
  533.      the remote system configured to run PPP? Is the PPP process in the
  534.      expected location?  Is the privileges suitable so that you may run
  535.      it?
  536.  
  537.      This would indicate that the shell is doing the local echo of the
  538.      data. This is the more common reason.
  539.  
  540.  
  541.   o  The modem has disconnected immediately upon making the connection
  542.      and logging you on to the remote. Most modems are configured to
  543.      echo the data sent to them and you are seeing the local echo from
  544.      the modem.
  545.  
  546.  
  547.   In either case, the Linux system is sending data to the remote which
  548.   is being fed immediately back into the serial receiver. This is not an
  549.   acceptable condition. You have what is called a "loop".
  550.  
  551.  
  552.  
  553.   7.8.  protocol reject for protocol fffb
  554.  
  555.   This usually occurs when you are trying to connect to a Xyplex
  556.   terminal server. Version 5.1 of the Xyplex terminal server software,
  557.   according to Xyplex, has numerous problems with PPP. It is strongly
  558.   recommended that you update the Xyplex software to at least version
  559.   5.3.
  560.  
  561.   If you must use version 5.1, then use the pppd option "vj-max-slots 3"
  562.   to limit the number of slots to three. The problem on the Xyplex
  563.   server is that it will accept the request for the default 16 slots,
  564.   but fail to operate beyond the third slot. It should have return a NAK
  565.   frame with the limit, but it does not.
  566.  
  567.   Alternately, you can disable the Van Jacobson header compression with
  568.   the option "-vj".
  569.  
  570.  
  571.  
  572.   7.9.  The PPP software connects, sends quite a few frames, but still
  573.   does not seem to connect. Why is that?
  574.  
  575.   Examine the system log when you use the "debug" option. (You will need
  576.   the system log data anyway if you are going to ask for help.)  If the
  577.   trace shows that it is sending the LCP-request frame over and over
  578.   again and the id number is not incrementing then you are not
  579.   exchanging frames with the remote PPP software.
  580.  
  581.   Three common reasons for this are:
  582.  
  583.  
  584.   o  You don't have the PPP software running on the other end. You are
  585.      sending the PPP frames to some other program which is probably
  586.      saying "What is this #$%^ ?"
  587.  
  588.      Please make sure that you have the PPP software started on the
  589.      other end before you enter the PPP protocol sequence. Try to use a
  590.      normal modem program and go through the logon sequence that you
  591.      would normally do. Do you see the PPP frames being sent to you?
  592.  
  593.      The PPP frames are fairly distinctive. They will be about 16
  594.      characters in length and contain several { characters. They should
  595.      not have a carriage return character after them and are sent out in
  596.      a burst with a pause between the bursts.
  597.  
  598.  
  599.   o  The line is not "eight bit clean". This means that you need to have
  600.      eight data bits, no parity, and one stop bit. The PPP link
  601.      absolutely requires eight data bits.
  602.  
  603.      The pppd software will automatically put the line into eight data
  604.      bits, no parity, and one stop bit. The remote must match this
  605.      configuration or framing and parity errors may occur.
  606.  
  607.      PPP will escape characters. It is not possible for it to escape
  608.      bits as kermit does. PPP will not work with a seven bit
  609.      communications link.
  610.  
  611.      There is a compile option in the PPP.c driver (part of the kernel)
  612.      called CHECK_CHARACTERS which will include additional code in the
  613.      driver to provide additional checking on the input characters. It
  614.      will be able to tell you if the parity was enabled or if the remote
  615.      system always sent the characters as seven bits.
  616.  
  617.  
  618.   o  The remote is configured to require authentication such as PAP or
  619.      CHAP. You have not configured the local system to use this feature.
  620.      Therefore, the remote is discarding all of your frames until it
  621.      sees a valid authentication frame from you.  Since you are not
  622.      configured to generate the frames, the IPCP frames which you send
  623.      are being ignored.
  624.  
  625.      In this case, either configure the remote to not expect
  626.      authentication or configure the local system to do authentication
  627.      and supply the proper secrets.
  628.  
  629.      Examine the receipt of the LCP configure frame. If it shows an
  630.      'auth' type, then the remote is configured for authentication.
  631.  
  632.  
  633.   7.10.  I can't connect to the merit network.
  634.  
  635.   Some users of the merit network have indicated that it needs PAP. Did
  636.   you try PAP authentication?
  637.  
  638.  
  639.  
  640.   8.  DIP
  641.  
  642.  
  643.   8.1.  DIP does not have support for PPP's mode
  644.  
  645.   The current version of dip-uri supports PPP in that it will execute
  646.   the pppd process when you execute `mode PPP'. However, there are many
  647.   options which are needed for the proper operation of pppd. Since dip
  648.   does not pass these to the program, they must be stored in the
  649.   /etc/PPP/options file.
  650.  
  651.   The dip program controls the establishment of the SLIP link. It
  652.   controls the SLIP link with the aid of slattach, ifconfig, and route.
  653.   These programs may be used to establish a SLIP link. They are not
  654.   useful for the establishment of a PPP link.
  655.  
  656.   The dip program may be used to dial the telephone and start the PPP
  657.   software on the remote system. It is best used in this mode as the
  658.   parameter to the `connect' option. However, you have the option to use
  659.   dip to control the link. It is not important how pppd be executed to
  660.   run the PPP link. It is only important that it be executed as it is a
  661.   mandatory program for the PPP protocol.
  662.  
  663.  
  664.  
  665.   9.  Process termination
  666.  
  667.  
  668.   9.1.  Is there a `dip -k' for PPP?
  669.  
  670.   No. There is no `dip -k'.
  671.  
  672.   In the chat directory, there is a `PPP-off' script. This will stop the
  673.   PPP link in the same manner as the 'dip -k'.
  674.  
  675.   I have included it below. (Cut it out. Store it in its own file.  Make
  676.   the file executable with chmod.)
  677.  
  678.  
  679.  
  680.   ______________________________________________________________________
  681.   #!/bin/sh
  682.   DEVICE=ppp0
  683.   #
  684.   # If the ppp0 pid file is present then the program is running. Stop it.
  685.   if [ -r /var/run/$DEVICE.pid ]; then
  686.           kill -INT `cat /var/run/$DEVICE.pid`
  687.   #
  688.   # If the kill did not work then there is no process running for this
  689.   # pid. It may also mean that the lock file will be left. You may wish
  690.   # to delete the lock file at the same time.
  691.           if [ ! "$?" = "0" ]; then
  692.                   rm -f /var/run/$DEVICE.pid
  693.                   echo "ERROR: Removed stale pid file"
  694.                   exit 1
  695.           fi
  696.   #
  697.   # Success. Let pppd clean up its own junk.
  698.           echo "PPP link to $DEVICE terminated."
  699.           exit 0
  700.   fi
  701.   #
  702.   # The PPP process is not running for ppp0
  703.   echo "ERROR: PPP link is not active on $DEVICE"
  704.   exit 1
  705.   ______________________________________________________________________
  706.  
  707.  
  708.  
  709.  
  710.   9.2.  PPP does not hangup the modem when it terminates
  711.  
  712.   There are several reasons for this.
  713.  
  714.  
  715.   o  Did you use the pppd `modem' parameter?  This parameter controls
  716.      whether or not the pppd process is to control and honor the signals
  717.      reflecting the modem status. This parameter is explained in the man
  718.      page for pppd.
  719.  
  720.   o  Do you have the modem presenting the DCD signal and honoring DTR?
  721.      The Hayes sequence for this is usually "&C1". If you reset the
  722.      modem during the connection sequence with "ATZ" then ensure that
  723.      your modem is configured correctly.
  724.  
  725.      The DTR signal is generated by the computer and instructs the modem
  726.      to disconnect. Hayes sequence for this is usually "&D1" or "&D2"
  727.      with "&D2" being the preferred setting for PPP. Many manufacturers
  728.      will ignore the DTR condition in their `factory defaults' setting.
  729.  
  730.  
  731.   o  Did you use a cheap cable which does not pass the DCD signal?
  732.      Macintosh `Classic' cables are notorious for this problem. The
  733.      Macintosh Classic does not use this signal.
  734.  
  735.   o  For dial-in connections, did you exec the pppd process properly?
  736.  
  737.      The pppd process should be `exec'ed from the script rather than
  738.      simply executed. If you attempt to simply run the pppd process then
  739.      it will be the shell which will receive the SIGHUP hangup signal
  740.      and not the pppd process.
  741.  
  742.      The `shell' script should have a format similar to the following:
  743.  
  744.  
  745.      ___________________________________________________________________
  746.      #!/bin/sh
  747.      exec pppd -detach modem ...
  748.      ___________________________________________________________________
  749.  
  750.  
  751.  
  752.  
  753.   10.  Data Transfer related issues
  754.  
  755.  
  756.   10.1.  The ftp transfers seems to die when I do a `put' operation.
  757.   They will work correctly if I `get' a file. Why?
  758.  
  759.   Do you have the flow control enabled? Flow control is set by the pppd
  760.   option crtscts for RTS/CTS and xonxoff for XON/XOFF. If you don't
  761.   enable the flow control then you will probably overrun the modem's
  762.   buffers and this will prove to be disastrous with vj header
  763.   compression.
  764.  
  765.  
  766.  
  767.   10.2.  How do I use XON/XOFF for flow control?
  768.  
  769.   The better flow control is CTS/RTS. However, if you can not do the
  770.   hardware flow control with the signals CTS and RTS, then use XON/XOFF.
  771.   The following three steps need to be performed.
  772.  
  773.  
  774.   o  You need to specify the pppd option xonxoff. This tells the pppd
  775.      process to configure the serial device for XON/XOFF flow control
  776.      and to load the two characters into the tty driver.
  777.  
  778.   o  You need to specify the XON and XOFF characters in the pppd
  779.      parameter asyncmap. This tells the remote system that is should
  780.      quote the XON and XOFF characters when it wishes to send them to
  781.      you. It is normally specified as the pppd parameter `asyncmap
  782.      a0000'.
  783.  
  784.   o  Of course, don't forget to tell the modem to use XON/XOFF flow
  785.      control. My ZyXEL modem uses a sequence `&R1&H4' to do this.
  786.  
  787.  
  788.   10.3.  The modem seems to always connect at a strange rate. When I use
  789.   minicom, the modem will always use 14400. However, PPP is using 9600
  790.   or 7200 or even 2400. How do I fix this?
  791.  
  792.  
  793.   Put the desired rate as an option to the pppd process. If you don't
  794.   put the rate, then pppd process will use whatever rate is set
  795.   currently at the time. Not all programs will restore all of the
  796.   parameters to the previous settings properly upon exit. This may lead
  797.   to strange rates configured for the serial device.
  798.  
  799.  
  800.  
  801.   10.4.  The ftp transfers seems to be very slow when I do a `get' oper-
  802.   ation. The `put' operation is much faster. Why?
  803.  
  804.   Did you specify the option:
  805.  
  806.   asyncmap 0
  807.  
  808.   when you ran pppd? If you forgot the option, the peer must quote
  809.   (double) all of the control characters in the range from 00 to 1F
  810.   (hex). This will result in a statistical loss of about 12.5% in speed
  811.   for all of the data which you receive.
  812.  
  813.   Did you configure the remote system? If so, did you forget flow
  814.   control on its modem?
  815.  
  816.  
  817.  
  818.   10.5.  The proxyarp function fails to find the hardware address.
  819.  
  820.   Use the ppp-2.1.2d.tar.gz package. The pppd process was erroneously
  821.   compiled with the 1.1.8 kernel and it used Net-3 rather than Net-2
  822.   definitions.
  823.  
  824.   Additionally, you should refer to the proxy-ARP mini-HOWTO about the
  825.   requirements for using proxy-ARP.
  826.  
  827.  
  828.  
  829.   11.  Routing and other problems
  830.  
  831.  
  832.   11.1.  My route to the remote keeps disappearing! It last for about 3
  833.   minutes and then the route just goes away. Help!
  834.  
  835.   This is not a question for PPP.
  836.  
  837.   Hint: DON'T RUN routed!
  838.  
  839.  
  840.  
  841.   11.2.  I can reach the remote server, but I can not get anywhere else.
  842.  
  843.   Did you forget the `defaultroute' parameter to pppd? This parameter
  844.   adds a default route into your routing system so that frames to all
  845.   other IP addresses will be sent to the PPP device.
  846.  
  847.   The PPP software will not replace the default route if you have one
  848.   already set when you run pppd. This is done to prevent people from
  849.   destroying their default route to the ethernet routers by accident. A
  850.   warning message is written to the system log if the defaultroute
  851.   parameter is not performed for this reason.
  852.  
  853.  
  854.  
  855.   11.3.  I have a default route and I still can't get anywhere else! Now
  856.   what?
  857.  
  858.  
  859.   The problem then is not with the local Linux system. It most likely is
  860.   routing problem on the remote end.
  861.  
  862.   The remote system is not configured for `IP forwarding'. It is an RFC
  863.   requirement that this option NOT be enabled by default. You must
  864.   enable the option. For Linux systems, you will need to build the
  865.   kernel and specify that you want IP forwarding/gatewaying.
  866.  
  867.   The remote computers need a route back to you just as you need a route
  868.   to them. This may be accomplished by one of four methods. Each has
  869.   advantages and limitations. You need to do one and only one of these.
  870.  
  871.  
  872.   o  Use a host route. At each host on the remote system, add a host
  873.      route to your Linux IP address with the gateway being the terminal
  874.      server that you use for your local access. This will work if you
  875.      have a small number of host systems and a simple network without
  876.      bridges, routers, gateways, etc.
  877.  
  878.   o  Use a network route. Subdivide the remote IP addresses so that your
  879.      local Linux IP address and the remote terminal server address and
  880.      the remote terminal server's ethernet address is on the same IP
  881.      domain. This will work if you have the IP addresses to spare. It
  882.      will work very well if you have a Class-B IP domain and can afford
  883.      to put the all of the remote addresses on the same IP domain. Then
  884.      add a network route on each of the gateways and routers so that any
  885.      address of the remote network is sent to the terminal server. Most
  886.      configurations have many hosts but few routers. (At sii.com, we
  887.      have over 300 active host systems with only 3 routers.)
  888.  
  889.   o  Use gated on all of the gateways and on the terminal server. This
  890.      will cause the terminal server to broadcast to the gateways that it
  891.      can accept the frames for your IP address. Since the hosts will
  892.      have a default route to one of the gateways, the gateways will
  893.      generate the ICMP re-direct frame and the specific host will
  894.      automatically add its host route.
  895.  
  896.   o  Use proxy ARP on the terminal server. This will only work if your
  897.      remote IP address is in the same IP domain as one of the domains
  898.      for the network cards.
  899.  
  900.   There is no clear solution. You must choose one of these.
  901.  
  902.   If your remote router requires to receive RIP frames in order to
  903.   update the route to your system then you should use the bcastd program
  904.   on sunsite.unc.edu. This will generate the RIP frames without actually
  905.   running gated.
  906.  
  907.  
  908.  
  909.   11.4.  I can not ping my local IP address
  910.  
  911.   You are not able to do this because you wont normally have a route to
  912.   the address. This is the normal operating environment.
  913.  
  914.   If you wish to ping your own system then use the loopback address of
  915.   127.0.0.1.
  916.  
  917.   You may be able to ping the remote address. However, some terminal
  918.   servers may not allow this as the address may be 'phony' to them. It
  919.   depends upon their environment.
  920.  
  921.   In general, don't try to ping either address. Choose a third address
  922.   which is well known to be available on the remote network such as one
  923.   of your name server IP address.
  924.  
  925.   While the PPP software will not perform this task, you may add the
  926.   route table entry yourself once the link has been established. The
  927.   syntax for the route statement is:
  928.  
  929.  
  930.  
  931.        route add -host 192.187.163.32 lo
  932.  
  933.  
  934.  
  935.  
  936.   where the local IP address is represented as 192.187.163.32 in this
  937.   example. This will tell the network software to route all frames
  938.   destined to your local IP address to the loopback adapter. Once you
  939.   add the appropriate route to the local IP address then you may use
  940.   this address as the target to IP frames.
  941.  
  942.   You will be responsible for deleting the route when the link goes
  943.   down.
  944.  
  945.  
  946.  
  947.   12.  Interactions with other PPP implementations
  948.  
  949.  
  950.   12.1.  I am using a Trumpet (for MSDOS) and the connection simply ter-
  951.   minates. Why is this happening?
  952.  
  953.   Trumpet does not like any VJ header compression. Use the pppd option
  954.   "-vj" to turn it off.
  955.  
  956.  
  957.  
  958.   12.2.  I am using dp-3.1.2 (with SunOS) and the system will not allow
  959.   me to use anything but ping, or nslookup. Why is this happening?
  960.  
  961.   There is a bug in the 3.1.2 version of dp. Please get the 3.1.2a or
  962.   later file from the dp ftp home site harbor.ecn.purdue.ecu. Until you
  963.   can put the patch into dp, disable the vj header compression.
  964.  
  965.  
  966.  
  967.   12.3.  I can not connect to/with my Windows NT code (originally called
  968.   'Daytona')
  969.  
  970.   Microsoft has chosen to support a non-standard authentication protocol
  971.   with Windows NT. That is their right to do so provided that they have
  972.   registered the protocol number with the IANA. (They have.)  If the
  973.   `accept only Microsoft encrypted authentication' check box is set in
  974.   the phone book entry, the connection will not complete. This setting
  975.   mandates that the Windows NT system only exchange PPP authentication
  976.   with another Microsoft PPP implementation.
  977.  
  978.   Linux does not support this authentication protocol.
  979.  
  980.   If you have the option of changing the settings on the Windows NT
  981.   system then go to the Windows NT Phone Book settings, advanced,
  982.   security settings and ensure that the `Accept any authentication
  983.   including clear text' box is checked and the `accept only Microsoft
  984.   encrypted authentication' is not checked. The other checkboxes may be
  985.   checked or not as you see fit.
  986.  
  987.   Then use PAP on the Linux side. Put your Windows NT account name and
  988.   password into the /etc/PPP/pap-secrets file.
  989.  
  990.  
  991.   The Microsoft authentication sequence is a PAP style authentication
  992.   with their DES encryption algorithm for the passwords. Normal PAP
  993.   sends the passwords in clear text. This would violate their C2
  994.   security goals.
  995.  
  996.   Versions of the Linux PPP code earlier than 2.1.2c have a flaw in
  997.   their decoding of the authentication request. They will not work with
  998.   a Windows NT system as they will not negotiate the proper
  999.   authentication. Please used 2.1.2c or later if you wish to connect to
  1000.   Windows NT. The current version, 2.1.2d, should be used if possible.
  1001.  
  1002.   Scott Hutton <shutton@habanero.ucs.indiana.edu> sent me the following:
  1003.  
  1004.   Basically, NT RAS (Remote Access Services) will drop your connection
  1005.   if you REJ anything critical (i.e., authentication protocol).  So, the
  1006.   trick was to create a mostly bogus chap-secrets file.  Mine has
  1007.  
  1008.  
  1009.          *     ""      ""
  1010.  
  1011.  
  1012.  
  1013.  
  1014.   in it.  This causes pppd to send a NAK rather than a REJ.  With the
  1015.   SPAP registry key removed, the next protocol attempted is PAP (which
  1016.   is what I'm using).
  1017.  
  1018.   Other points are to make sure that *only* TCP/IP services are enabled
  1019.   in RAS (not NetBEUI nor IPX [Ed: IPX is being addressed. Until it is
  1020.   installed properly, this is probably a good thing to disable as
  1021.   well.]). I also had to fiddle with a couple of other registry keys to
  1022.   kill timeouts (which are problematic when you're only doing TCP/IP):
  1023.  
  1024.  
  1025.  
  1026.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRemoteAccess\eParameters
  1027.            Autodisconnect: REG_DWORD: 0
  1028.  
  1029.  
  1030.  
  1031.  
  1032.   and to get my routing to work correctly:
  1033.  
  1034.  
  1035.  
  1036.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRasArp\eParameters
  1037.            DisableOtherSrcPackets: REG_DWORD: 0
  1038.  
  1039.  
  1040.  
  1041.  
  1042.   For completeness, the key that needs to be disabled to eliminate SPAP:
  1043.  
  1044.  
  1045.  
  1046.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRasMan\ePPP\eSPAP
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.   13.  Other messages written to the system log
  1054.  
  1055.  
  1056.  
  1057.   13.1.  Alarm
  1058.  
  1059.   This is not a problem. It means that a timer has expired.  Timers are
  1060.   a necessary part of the protocol establishment phase.
  1061.  
  1062.  
  1063.  
  1064.   13.2.  SIGHUP
  1065.  
  1066.   The pppd process has received a HUP signal. The HUP signal is
  1067.   generated by the tty software when the remote system has disconnected
  1068.   the modem link. It means that the modem has put the 'telephone
  1069.   receiver back on the hook', or, 'Hung UP' the connection.
  1070.  
  1071.   The kill program may also be used to send this signal to the pppd
  1072.   process.
  1073.  
  1074.   The pppd process will terminate the link in an orderly fashion when it
  1075.   receives this signal.
  1076.  
  1077.  
  1078.  
  1079.   13.3.  SIGINT
  1080.  
  1081.   The pppd process has received an INT signal. The INT signal is
  1082.   generated by the console software when you press the Ctrl-C key
  1083.   combination and pppd is the foreground process.
  1084.  
  1085.   The kill program may also be used to send this signal to the pppd
  1086.   process. In fact, the recommended method to terminate the pppd link is
  1087.   to send the process an INT. See the question relating to "dip -k" for
  1088.   a script which will perform this task.
  1089.  
  1090.   The pppd process will terminate the link in an orderly fashion when it
  1091.   receives this signal.
  1092.  
  1093.  
  1094.  
  1095.   13.4.  Unknown protocol (c025) received!.
  1096.  
  1097.   The remote wishes to exchange Link Quality Reporting protocol with the
  1098.   Linux system. This protocol is presently not supported. This is not an
  1099.   error. It is merely saying that it has received the request and will
  1100.   tell the remote that "I can't do this now. Don't bother me with this!"
  1101.  
  1102.   The Morning Star PPP package will always try to do LQR protocol. This
  1103.   is normal.
  1104.  
  1105.  
  1106.  
  1107.   13.5.  The connection fails with an ioctl(TIOCSCTTY) error.
  1108.  
  1109.   Use the ppp-2.1.2c.tar.gz package. This was a bug which was not caught
  1110.   before the `a' package was released.
  1111.  
  1112.  
  1113.  
  1114.   13.6.  The connection fails with errors "ioctl(TIOCGETD): I/O error"
  1115.   or "ioctl(PPPIOCSINPSIG): I/O error". What now?
  1116.  
  1117.   Look at the boot messages when you boot the kernel. If it says "PPP
  1118.   version 0.1.2" then you have an old version of the PPP.c driver.
  1119.  
  1120.   If it says "PPP version 0.2.7" then you have the current driver,
  1121.   however, it was not built with the same set of defines for the ioctl
  1122.   numbers. Ensure that you have only one file called "PPP.h". It should
  1123.   be located in the kernel's include/linux directory. Once you have done
  1124.   this, rebuild the kernel and the pppd process.
  1125.  
  1126.  
  1127.  
  1128.   13.7.  Sometimes the messages "ioctl(PPPIOCGDEBUG): I/O error",
  1129.   "ioctl(TIOCSETD): I/O error" and "ioctl(TIOCNXCL): I/O error" occur.
  1130.   Why?
  1131.  
  1132.   The remote system has disconnected the telephone. The tty drivers will
  1133.   re-establish the proper tty discipline and these errors are the result
  1134.   of the pppd process trying to do the same thing. These are to be
  1135.   expected.
  1136.  
  1137.  
  1138.  
  1139.   13.8.  My ifconfig has strange output for PPP.
  1140.  
  1141.   Usually the ifconfig program reports information similar to the
  1142.   following:
  1143.  
  1144.  
  1145.  
  1146.        ppp0      Link encap UNSPEC  HWaddr 00-00-00-00-00-00-00 ...
  1147.                  inet addr 192.76.32.2  P-t-P 129.67.1.65  Mask 255.255.255.0
  1148.                  UP POINTOPOINT RUNNING  MTU 1500  Metric 1
  1149.  
  1150.  
  1151.  
  1152.  
  1153.   The information is for display purposes only. If you are using a
  1154.   recent 1.2 kernel then update the nettools package with the current
  1155.   one on sunacm.swan.ac.uk in the directory
  1156.   /pub/Linux/networking/nettools.
  1157.  
  1158.  
  1159.  
  1160.   13.9.  The file /proc/net/dev seems to be empty
  1161.  
  1162.   Did you just issue the command "ls -l /proc/net" and are wondering why
  1163.   the size is zero?  If so, this is normal.  Instead, issue the command:
  1164.  
  1165.   cat /proc/net/dev
  1166.  
  1167.   You should not find the file empty. The size is always shown as zero,
  1168.   but that is the 'proc' file system. Don't believe the size. Do the
  1169.   command.
  1170.  
  1171.   The 'more', 'less', and 'most' programs may not be used to view the
  1172.   file directly. If you wish to use these programs, use it as follows:
  1173.  
  1174.   cat /proc/net/dev | less
  1175.  
  1176.  
  1177.  
  1178.   14.  Network routing issues (using PPP as a `cheap' bridge)
  1179.  
  1180.  
  1181.   14.1.  Slattach and ifconfig don't work like SLIP
  1182.  
  1183.   Do not use slattach and ifconfig with PPP. These are used for SLIP.
  1184.   The pppd process does these functions at the appropriate time. These
  1185.   must occur after the LCP and IPCP protocols have been exchanged.
  1186.  
  1187.   You can not replace pppd with slattach and ifconfig. Most of the
  1188.   protocol support for PPP is in the pppd process. Only the IP (and IPX
  1189.   when it is completed) processing is in the kernel.
  1190.  
  1191.   The host route to the remote system will be automatically added by
  1192.   pppd. There is no option to NOT add the route. The pppd process will
  1193.   terminate if the route could not be added.
  1194.  
  1195.   The default route may or may not be added. This is controlled by the
  1196.   option `defaultroute'. If you have a default route, it will not be
  1197.   changed.
  1198.  
  1199.   If you must do routing for an entire network, then put the route
  1200.   command into the /etc/PPP/ip-up script. The parameters to the script
  1201.   are:
  1202.  
  1203.  
  1204.           $0 - name of the script (/etc/PPP/ip-up or /etc/PPP/ip-down)
  1205.           $1 - name of the network device (such as ppp0)
  1206.           $2 - name of the tty device (such as /dev/cua0)
  1207.           $3 - speed of the tty device in Bits Per Second (such as 38400)
  1208.           $4 - the local IP address in dotted decimal notation
  1209.           $5 - the remote IP address in dotted decimal notation
  1210.  
  1211.  
  1212.  
  1213.  
  1214.   14.2.  I want the route to the network and not the route to the host.
  1215.  
  1216.   On sunsite there is a package called devinfo.tar.gz. It contains some
  1217.   useful little programs which will extract the data from the device and
  1218.   to do various things with the dotted IP addresses.
  1219.  
  1220.   The documentation is in the man pages in the file.
  1221.  
  1222.   For example, if you want to route the entire IP domain to the remote,
  1223.   the following may be used in /etc/PPP/ip-up.
  1224.  
  1225.   Of course, if the values are not variable, then simply use the
  1226.   appropriate entry in the route command.
  1227.  
  1228.  
  1229.   ______________________________________________________________________
  1230.   # Obtain the netmask for the ppp0 (or whatever) device
  1231.   NETMASK = `devinfo -d $1 -t mask`
  1232.  
  1233.   # Obtain the IP domain (without the host address by removing the extra bits)
  1234.   DOMAIN = `netmath -a $5 $NETMASK`
  1235.  
  1236.   # Do the network route now that the IP domain is known
  1237.   route -net add $DOMAIN gw $5
  1238.   ______________________________________________________________________
  1239.  
  1240.  
  1241.  
  1242.  
  1243.   15.  Other features and protocols
  1244.  
  1245.  
  1246.   15.1.  What about support for `demand dial'
  1247.  
  1248.   Use the diald package. This is on sunsite in the same directory as the
  1249.   PPP source, /pub/Linux/system/Network/serial.
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.   15.2.  What about `filtering'
  1256.  
  1257.   There are no plans to put filtering into the PPP code. Run the
  1258.   ipfirewall code. It is on sunsite. Help the author debug that code. It
  1259.   will do the filtering that you want in a general solution.
  1260.  
  1261.   The latest development kernels will include the patches to support
  1262.   filtering. (You will still need the ipfirewall code as the kernel only
  1263.   contains the patches which were in the ipfirewall code for the
  1264.   kernel.)  Again, filtering is a network issue and not one specifically
  1265.   for PPP.
  1266.  
  1267.  
  1268.  
  1269.   15.3.  How about IPX?
  1270.  
  1271.   The addition of support for IPX is fairly straight forward. Work is
  1272.   underway to include the IPX protocol.
  1273.  
  1274.  
  1275.  
  1276.   15.4.  How about NETBIOS?
  1277.  
  1278.   There is a netbios PPP protocol. However, your better solution would
  1279.   be to use TCP/IP and the `samba' code.
  1280.  
  1281.   Microsoft and others have used Netbios PPP protocol.
  1282.  
  1283.   The nbfcp protocol is a public document and available from several
  1284.   sources. The Netbios protocol is not a valid address family at the
  1285.   present time for Linux. Until Linux supports the protocol, there is
  1286.   little need to support Netbios over PPP for Linux.
  1287.  
  1288.  
  1289.  
  1290.   15.5.  I need ISDN support. Is there any?
  1291.  
  1292.   ISDN support revolves around having a working ISDN driver. The present
  1293.   design of the PPP driver does not lend itself well to the concept of a
  1294.   block of data being received. This is being changed. A driver for the
  1295.   Sonix interface is being developed.
  1296.  
  1297.  
  1298.  
  1299.   15.6.  How about just standard synchronous PPP?
  1300.  
  1301.   There are small changes needed to support a serial interface which
  1302.   uses synchronous communications. The redesign of the PPP driver will
  1303.   help with this function as well. Kate Marika Alhola has expressed an
  1304.   intrest in writing such a synchronous driver for her hardware. You
  1305.   should contact her at kate@digiw.fi for further information.
  1306.  
  1307.  
  1308.  
  1309.   16.  Miscellenous
  1310.  
  1311.  
  1312.   16.1.  Do you have a PPP compatible mail reader?
  1313.  
  1314.   Huh?  You have the wrong group if you want MSDOS. PPP has nothing to
  1315.   do with the mail user agent. All of the mail agents are compatible
  1316.   with PPP.
  1317.  
  1318.  
  1319.  
  1320.  
  1321.   16.2.  How about a news reader?
  1322.  
  1323.   Refer to the previous answer.
  1324.